using System;
using System.Xml;
using Castle.Core.Resource;

namespace Mbs.CastleContainer
{
    interface IXmlProcessorEngine
    {
        void AddNodeProcessor(Type type);
        void DispatchProcessAll(IXmlProcessorNodeList nodeList);
        void DispatchProcessCurrent(IXmlProcessorNodeList nodeList);
        void AddProperty(XmlElement element);
        bool HasProperty(String name);
        XmlElement GetProperty(String name);
        bool HasFlag(String flag);
        void AddFlag(String flag);
        void RemoveFlag(String flag);
        void PushResource(IResource resource);
        IResource GetResource(string uri);
        void PopResource();
        bool HasSpecialProcessor(XmlNode node);
    }
}
